package upbeat;

public interface ConductorInterface {
	
	public void SetManager(Manager man);

	/**
	 * This version of Conduct is called by the {@link Manager} at the very end
	 * of all the input.
	 * 
	 * @param currentMeasure
	 *            the current measure in the song.
	 * @param newData
	 *            the new data to be associated with this measure.
	 * @param done
	 *            a boolean value saying whether or not we are finished
	 *            processing input. If this is set to false, then call the other
	 *            version of Conduct.
	 */
	public void Conduct(int currentMeasure, double newData, boolean done) throws Exception;

	/**
	 * Method called by the {@link Manager} to get the Conductor to generate
	 * some @{link Cue}s.
	 * 
	 * @param currentMeasure
	 *            the current measure of the song.
	 * @param newData
	 *            the new data to be associated with this measure.
	 */
	public void Conduct(int currentMeasure, double newData) throws Exception;
}
